home *** CD-ROM | disk | FTP | other *** search
/ CICA 1995 September (Japanese) / CICA Shareware for Windows CD-ROM (Walnut Creek) (September 1995) (Japanese) (Disc 2).iso / disc2 / nt / ntperf.exe / PERFTOOLS / SRC / PERFMON / WINHELPR.H_ / WINHELPR.H
Encoding:
C/C++ Source or Header  |  1993-05-15  |  6.6 KB  |  217 lines

  1. /*
  2. ==============================================================================
  3.  
  4.   Application:
  5.  
  6.             Microsoft Windows NT (TM) Performance Monitor
  7.  
  8.   File:
  9.             wincrack.h - Windows helper macros.
  10.  
  11.             This file contains macros for more easily dealing with windows
  12.             messages and objects. Think of it as an extension to windows.h.
  13.  
  14.    Written by:
  15.  
  16.             Mike Moskowitz 8 Apr 92.
  17.  
  18.   Copyright 1992, Microsoft Corporation. All Rights Reserved.
  19. ==============================================================================
  20. */
  21.  
  22.  
  23.  
  24. //==========================================================================//
  25. //                                   Macros                                 //
  26. //==========================================================================//
  27.  
  28.  
  29. #define SetFont(hWnd, hFont)                          \
  30.    (SendMessage ((hWnd), WM_SETFONT, (WPARAM) hFont, 0))
  31.  
  32.  
  33. //======================================//
  34. // Object-differentiation routines      //
  35. //======================================//
  36.  
  37.  
  38. // Windows APIs deal with all GDI objects the same. There's a SelectObject,
  39. // no SelectBitmap, SelectFont, etc. We use these instead to make the code
  40. // easier to read. Also, you can redefine one of these to check the 
  41. // validity of a particular GDI object type.
  42.  
  43.  
  44. #define SelectBitmap(hDC, hBitmap)                    \
  45.    (SelectObject (hDC, hBitmap))
  46.  
  47. #define SelectFont(hDC, hFont)                        \
  48.    (SelectObject (hDC, hFont))
  49.  
  50. #define SelectBrush(hDC, hBrush)                      \
  51.    (SelectObject (hDC, hBrush))
  52.  
  53. #define DeleteBrush(hBrush)                           \
  54.    (DeleteObject (hBrush))
  55.  
  56. #define SelectPen(hDC, hPen)                          \
  57.    (SelectObject (hDC, hPen))
  58.  
  59. #define DeletePen(hPen)                               \
  60.    (DeleteObject (hPen))
  61.  
  62.  
  63. //======================================//
  64. //                                      //
  65. //======================================//
  66.  
  67.  
  68. #define CBData(hWndCB, iIndex)                        \
  69.    (SendMessage (hWndCB, CB_GETITEMDATA, iIndex, 0L))
  70.  
  71.  
  72. #define CBSetData(hWndCB, iIndex, lData)              \
  73.    (SendMessage (hWndCB, CB_SETITEMDATA, iIndex, (LONG) lData))
  74.  
  75.  
  76. #define CBAdd(hWndCB, lpszText)                       \
  77.    ((int)(DWORD)SendMessage((hWndCB), CB_ADDSTRING,   \
  78.     0, (LPARAM)(LPCSTR)(lpszText)))
  79.  
  80.  
  81. #define CBFind(hWndCB, lpszText)                      \
  82.    (SendMessage (hWndCB, CB_FINDSTRING, 0xFFFFFFFF, (LPARAM) lpszText))
  83.  
  84.  
  85. #define CBInsert(hWndCB, iIndex, lpszText)            \
  86.    (SendMessage (hWndCB, CB_INSERTSTRING, (WPARAM) iIndex, (LPARAM) lpszText))
  87.  
  88.  
  89. #define CBReset(hWndCB)                               \
  90.    ((int)(DWORD)SendMessage((hWndCB), CB_RESETCONTENT,\
  91.     0, (LPARAM)0))
  92.  
  93.  
  94. #define CBSelection(hWndCB)                           \
  95.    (SendMessage (hWndCB, CB_GETCURSEL, 0, 0L))
  96.  
  97.  
  98. #define CBSetSelection(hWndCB, iIndex)                \
  99.    (SendMessage (hWndCB, CB_SETCURSEL, iIndex, 0L))
  100.  
  101.  
  102. #define CBString(hWndCB, iIndex, lpszText)            \
  103.    (SendMessage (hWndCB, CB_GETLBTEXT, iIndex, (LPARAM) lpszText))
  104.  
  105.  
  106. #define CBStringLen(hWndCB, iIndex)                   \
  107.    (SendMessage (hWndCB, CB_GETLBTEXTLEN, iIndex, 0L))
  108.  
  109.  
  110.  
  111. //======================================//
  112. // Listbox helpers                      //
  113. //======================================//
  114.  
  115.  
  116. #define LBAdd(hWndLB, lpszText)                       \
  117.    (SendMessage (hWndLB, LB_ADDSTRING, 0, (LPARAM) lpszText))
  118.  
  119.  
  120. #define LBData(hWndLB, iIndex)                        \
  121.    (SendMessage (hWndLB, LB_GETITEMDATA, iIndex, 0L))
  122.  
  123.  
  124. #define LBDelete(hWndLB, iIndex)                      \
  125.    (SendMessage (hWndLB, LB_DELETESTRING, iIndex, 0L))
  126.  
  127.  
  128. #define LBFind(hWndLB, lpszText)                      \
  129.    (SendMessage (hWndLB, LB_FINDSTRING, (WPARAM) -1, (LPARAM) lpszText))
  130.  
  131.  
  132. #define LBFocus(hWndLB)                               \
  133.    (SendMessage (hWndLB, LB_GETCARETINDEX, 0, 0))
  134.  
  135.  
  136. #define LBInsert(hWndLB, iIndex, lpszText)            \
  137.    (SendMessage (hWndLB, LB_INSERTSTRING, (WPARAM) iIndex, (LPARAM) lpszText))
  138.  
  139.  
  140. #define LBNumItems(hWndLB)                            \
  141.    ((int) SendMessage (hWndLB, LB_GETCOUNT, 0, 0))
  142.  
  143.  
  144. #define LBReset(hWndLB)                               \
  145.    ((int)(DWORD)SendMessage((hWndLB), LB_RESETCONTENT,\
  146.     0, (LPARAM)0))
  147.  
  148.  
  149. #define LBSelected(hwndLB, index)                     \
  150.    ((int)(DWORD)SendMessage((hwndLB), LB_GETSEL,      \
  151.     (WPARAM)(int)(index), 0L))
  152.  
  153.  
  154. #define LBSelection(hWndLB)                           \
  155.    (SendMessage (hWndLB, LB_GETCURSEL, 0, 0L))
  156.  
  157.  
  158. #define LBSetData(hWndLB, iIndex, lData)              \
  159.    (SendMessage (hWndLB, LB_SETITEMDATA, iIndex, (LONG) lData))
  160.  
  161.  
  162. #define LBSetSelection(hWndLB, iIndex)                \
  163.    (SendMessage (hWndLB, LB_SETCURSEL, iIndex, 0L))
  164.  
  165.  
  166. #define LBString(hwndLB, iIndex, lpszText)            \
  167.    ((int)(DWORD)SendMessage((hwndLB), LB_GETTEXT,     \
  168.     (WPARAM)(int)(iIndex), (LPARAM)(LPCSTR)(lpszText)))
  169.  
  170.  
  171. #define MLBSetSelection(hWndMLB, iIndex, bSet)        \
  172.    (SendMessage (hWndMLB, LB_SETSEL, (WPARAM) bSet, (LPARAM) iIndex))
  173.  
  174. #define LBSetVisible(hWndLB, iIndex)                  \
  175.    (SendMessage (hWndLB, LB_SETCARETINDEX, (WPARAM) iIndex, 0L))
  176.  
  177.  
  178. #define LBSetRedraw(hWndLB, bDrawOnOff)               \
  179.    (SendMessage (hWndLB, WM_SETREDRAW, (WPARAM) bDrawOnOff, 0L))
  180.  
  181.  
  182. #define LBSetHorzExtent(hWndLB, wExtent)              \
  183.    (SendMessage (hWndLB, LB_SETHORIZONTALEXTENT, (WPARAM)wExtent, 0L))
  184.  
  185. //======================================//
  186. // Edit helpers                         //
  187. //======================================//
  188.  
  189.  
  190. #define EditModified(hWndEdit)                        \
  191.    (SendMessage ((hWndEdit), EM_GETMODIFY, (WPARAM) 0, (LPARAM) 0))
  192.  
  193.  
  194. #define EditSetModified(hWndEdit, bModified)                     \
  195.    (SendMessage ((hWndEdit), EM_SETMODIFY, (WPARAM) bModified, 0))
  196.  
  197.  
  198. #define EditSetLimit(hWndEdit, iLimit)                \
  199.    (SendMessage ((hWndEdit), EM_LIMITTEXT, (WPARAM) iLimit, 0))
  200. #define EditSetTextPos(hWnd, idControl, iStartPos, iEndPos)    \
  201.    (SendMessage (GetDlgItem(hWnd, idControl), EM_SETSEL, (WPARAM) iStartPos, (LPARAM) iEndPos))
  202.  
  203. #define EditSetTextEndPos(hWnd, idControl)    \
  204.    EditSetTextPos(hWnd, idControl, 0, 32767)
  205.  
  206. //======================================//
  207. // Cursor helpers                       //
  208. //======================================//
  209.  
  210. #define SetHourglassCursor() \
  211.     (SetCursor(LoadCursor(NULL, IDC_WAIT)))
  212.  
  213. #define SetArrowCursor() \
  214.     (SetCursor(LoadCursor(NULL, IDC_ARROW)))
  215.  
  216. 
  217.